1. Field of the Invention
This invention relates generally to message transmission over networks and, more particularly, to message transmission over networks that include multiple data channels for transmitting different types of messages.
2. Description of the Related Art
Many data networks over which messages are transmitted include multiple data transmission channels. Each channel is assigned a frequency band over which messages can be transmitted. Typically, each channel carries a particular type of message so that network control signals can be transmitted separately from message traffic. That is, unlike conventional telephone line connections, network control messages that typically are very short are not transmitted within the bandwidth used for actual message traffic. Rather, network control messages (such as connect messages and identification data) can be sent over lines tailored for that function and data messages likewise can be sent over lines tailored for that function. Keeping the message traffic separated permits maximum efficiency of the available bandwidth and network resources.
For example, the Integrated Services Digital Network (ISDN) is a network of high-speed communication lines that carry messages defined by an internationally recognized message transmitting protocol having standardized channels that permit both analog voice data (such as produced by conventional telephone systems) and digital data to be transmitted over the network. The six ISDN channels defined so far include the A channel (a 4 KHz bandwidth analog telephone channel intended for voice transmission), the B channel (a 64 kilobits per second (kbps) data channel for voice data or digital data), the C channel (an 8 kbps or 16 kbps digital channel), the D channel (a 16- or 64 kbps digital channel used for out-of-band signaling), the E channel (a 64 kbps digital channel for internal network signaling), and the H channel (a 384 kbps, 1536 kbps, or 1920 kbps digital channel).
As noted above, different network channels typically are used for different purposes, and therefore the channels typically have different message traffic utilization rates and carry user messages of different lengths. For example, the ISDN A channel is primarily used for conventional analog telephone traffic and therefore can be used relatively frequently, with rather long connect times between users. The ISDN B channel is used for most digital message traffic and can have a wide range of utilization rates, connect times, and message lengths. The ISDN D channel is used primarily for sending message packets for network control and out-of-band signaling and therefore typically carries very short messages with minimal connect times.
Calls over the ISDN network are initiated by a user, referred to as the local side, comprising a local communication device connected to an ISDN adapter device. The call is sent over the ISDN channels to another user, referred to as the remote side, comprising a remote communication device connected to an ISDN adapter device. For example, the ISDN D channel might be used initially to set up the call and establish communication via an exchange of message packets between the local user and the remote user, and then the actual message might be transmitted over the ISDN B channel.
As a result of the different typical connect times, utilization rates, and message lengths, providers of the communications lines over which the user messages are sent typically charge for use of the different network channels at different rates. For example, ISDN A channel and B channel calls are typically charged for each use, according to the time during which there is an actual connection, at the standard business telephone line call rate for a voice call. A typical rate structure is referred to as measured rate and might be, for example, US$0.04 for the first minute of connect time for a call and US$0.01 for each minute of the same call thereafter. ISDN D channel calls are typically charged at a flat rate for access, such as US$4.00 per month.
Various schemes are frequently used to reduce the amount of time during which a call is connected, and therefore reduce the charge that is incurred for use of a line. For example, ISDN adapter devices typically initiate a call on the first B channel frequency, or line, that is available. The line is disconnected, also referred to as "dropped", if the line is idle (meaning there is no message traffic) after a user-specified number of minutes. The number of idle minutes to tolerate before dropping the line depends on the local rate structure that a user confronts. At a particular expected number of idle minutes before the next message transmission or reception, it is more cost effective to drop the line and incur the higher per-minute charge for the initial connect time upon the next need for the line, rather than to remain connected (and accumulate the lower rate line-connect time charge) while waiting for the next message transmission or reception. The adapter devices can be adapted to implement channel selection and hang-up decisions based on the particular line rate structure faced by a particular user at a particular location.
More sophisticated channel selection schemes also are used. For example, some ISDN adapter devices will initiate a call on a second B channel if the data rate on the first B channel exceeds a user-specified threshold value. Selecting the second channel can reduce the charge incurred by balancing the data rate across two channels. The second channel also can be dropped if it is idle after a user-specified number of minutes. Such channel-dropping schemes, however, often run afoul of adapter devices and transmission protocols that require that lines not be dropped to keep both ends of a network connection informed of the channel status. To ensure that lines not be dropped, for example, some adapter devices broadcast what are known as "keep-alive" messages that transmit a default dummy message before a hang-up scheme can drop a line, thereby keeping a connection even if there is no legitimate message traffic on a channel. The keep-alive messages might be sent, for example, every seventy-five seconds or every few minutes. Using keep-alive messages permits the connection status to always be known to users at both ends of a network connection. In practical use, the keep-alive messages mean that some channels are never dropped, so that the line remains connected virtually all the time. Thus, maintaining status information at both ends of a channel can result in relatively high connection charges.
To avoid continuous connections due to keep-alive messages, some adapter devices are designed to receive keep-alive message and respond as if they were the remote device itself. This practice is referred to as spoofing and permits the remote user to appear as if still connected to the local user without incurring the connect charge. Unfortunately, the local user cannot really determine if the remote user is still functional and therefore a transmission problem with the channel might occur without the knowledge of the local user. Without knowledge of the true line connection status, messages can be lost. Lost messages due to spoofing can easily overwhelm the cost savings otherwise obtained by reducing the line connect time.
From the discussion above, it should be apparent that there is a need for a system that supports message transmission over networks that include multiple data channels for transmitting different types of messages and does so without incurring significant connect time charges or ignoring line status, thereby permitting more cost effective use of the network. The present invention satisfies this need.